package com.sh.apibackend.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.sh.apibackend.model.userinterface.UpdateUserInterfaceInfoDTO;
import com.sh.apibackend.model.vo.InterfaceInfoVo;
import com.sh.apibackend.model.vo.UserInterfaceInfoVO;
import com.sh.apicommon.entity.UserInterfaceInfo;
import jakarta.servlet.http.HttpServletRequest;

import java.util.List;

/**
* @author 舒云
* @description 针对表【user_interface_info】的数据库操作Service
* @createDate 2024-10-02 20:15:33
*/
public interface UserInterfaceInfoService extends IService<UserInterfaceInfo> {

    /**
     * 统计接口调用次数
     * @param userId
     * @param interfaceInfoId
     * @return
     */
    boolean invokeCount(long userId,long interfaceInfoId);

    /**
     * 根据用户id获取接口信息  列表
     * @param userId
     * @param request
     * @return
     */
    List<UserInterfaceInfoVO> getInterfaceInfoByUserId(Long userId, HttpServletRequest request);

    /**
     * 更新用户接口信息, 就是更新用户接口信息的总数和剩余数
     * @param updateUserInterfaceInfoDTO
     * @return
     */
    boolean updateUserInterfaceInfo(UpdateUserInterfaceInfoDTO updateUserInterfaceInfoDTO);

    /**
     * 接口调用次数top分析 请100条
     * @param i
     * @return
     */
    List<InterfaceInfoVo> interfaceInvokeTopAnalysis(int i);
}
